package com.ly.wxPay.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ly.common.core.bean.dto.CommonBatchUpdateDTO;
import com.ly.wxPay.bean.entity.WxRefund;
import com.ly.common.core.bean.R;

import java.util.List;

/**
 * 支付-退款表-服务
 *
 * @author luoyun
 * @Date: 2025-11-22
 */
public interface IWxRefundService extends IService<WxRefund> {

    /**
     * 查询-id
     */
    R getId(String id);

    /**
     * 列表
     * @param entity
     * @return
     */
    R getList(WxRefund entity);

    /**
     * 分页
     */
    R getPage(WxRefund entity, Page<WxRefund> page);

    /**
     * 新增
     */
    R add(WxRefund entity);

    /**
     * 修改
     */
    R edit(WxRefund entity);

    /**
     * 删除-id
     */
    R delete(String id);

    /**
     * 批量删除
     */
    R deleteBatch(String ids);

    /**
     * 批量新增或修改
     */
    R updateBatch(CommonBatchUpdateDTO<WxRefund> dto);

    /**
     * 根据微信结果更新退款单
     * @param content：微信放回数据
     */
    void updateRefund(String content);

    /**
     * 找出申请退款超过minutes分钟并且未成功的退款单
     *
     * @param minutes
     * @return
     */
    List<WxRefund> getNoRefundOrderByDuration(int minutes);
}
